<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html><head><title>QTabletEvent Class Reference</title><style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
td.postheader { font-family: sans-serif }
tr.address { font-family: sans-serif }
body { background: #ffffff; color: black; }
</style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr /><td align="left" valign="top" width="32"><img align="left" border="0" height="32" src="images/rb-logo.png" width="32" /></td><td width="1">&#160;&#160;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&#160;&#183; <a href="classes.html"><font color="#004faf">All Classes</font></a>&#160;&#183; <a href="modules.html"><font color="#004faf">Modules</font></a></td></table><h1 align="center">QTabletEvent Class Reference<br /><sup><sup>[<a href="qtgui.html">QtGui</a> module]</sup></sup></h1><p>The QTabletEvent class contains parameters that describe a
Tablet event. <a href="#details">More...</a></p>

<p>Inherits <a href="qinputevent.html">QInputEvent</a>.</p><h3>Types</h3><ul><li><div class="fn" />enum <b><a href="qtabletevent.html#PointerType-enum">PointerType</a></b> { UnknownPointer, Pen, Cursor, Eraser }</li><li><div class="fn" />enum <b><a href="qtabletevent.html#TabletDevice-enum">TabletDevice</a></b> { NoDevice, Puck, Stylus, Airbrush, ..., RotationStylus }</li></ul><h3>Methods</h3><ul><li><div class="fn" /><b><a href="qtabletevent.html#QTabletEvent">__init__</a></b> (<i>self</i>, QEvent.Type&#160;<i>t</i>, QPoint&#160;<i>pos</i>, QPoint&#160;<i>globalPos</i>, QPointF&#160;<i>hiResGlobalPos</i>, int&#160;<i>device</i>, int&#160;<i>pointerType</i>, float&#160;<i>pressure</i>, int&#160;<i>xTilt</i>, int&#160;<i>yTilt</i>, float&#160;<i>tangentialPressure</i>, float&#160;<i>rotation</i>, int&#160;<i>z</i>, Qt.KeyboardModifiers&#160;<i>keyState</i>, int&#160;<i>uniqueID</i>)</li><li><div class="fn" /><b><a href="qtabletevent.html#QTabletEvent-2">__init__</a></b> (<i>self</i>, QTabletEvent)</li><li><div class="fn" />TabletDevice <b><a href="qtabletevent.html#device">device</a></b> (<i>self</i>)</li><li><div class="fn" />QPoint <b><a href="qtabletevent.html#globalPos">globalPos</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#globalX">globalX</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#globalY">globalY</a></b> (<i>self</i>)</li><li><div class="fn" />QPointF <b><a href="qtabletevent.html#hiResGlobalPos">hiResGlobalPos</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qtabletevent.html#hiResGlobalX">hiResGlobalX</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qtabletevent.html#hiResGlobalY">hiResGlobalY</a></b> (<i>self</i>)</li><li><div class="fn" />PointerType <b><a href="qtabletevent.html#pointerType">pointerType</a></b> (<i>self</i>)</li><li><div class="fn" />QPoint <b><a href="qtabletevent.html#pos">pos</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qtabletevent.html#pressure">pressure</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qtabletevent.html#rotation">rotation</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qtabletevent.html#tangentialPressure">tangentialPressure</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#uniqueId">uniqueId</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#x">x</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#xTilt">xTilt</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#y">y</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#yTilt">yTilt</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qtabletevent.html#z">z</a></b> (<i>self</i>)</li></ul><a name="details" /><hr /><h2>Detailed Description</h2><p>The QTabletEvent class contains parameters that describe a
Tablet event.</p>
<p>Tablet Events are generated from a Wacom tablet. Most of the
time you will want to deal with events from the tablet as if they
were events from a mouse; for example, you would retrieve the
cursor position with <a href="qtabletevent.html#x">x</a>(),
<a href="qtabletevent.html#y">y</a>(), <a href="qtabletevent.html#pos">pos</a>(), <a href="qtabletevent.html#globalX">globalX</a>(), <a href="qtabletevent.html#globalY">globalY</a>(), and <a href="qtabletevent.html#globalPos">globalPos</a>(). In some situations
you may wish to retrieve the extra information provided by the
tablet device driver; for example, you might want to do subpixeling
with higher resolution coordinates or you may want to adjust color
brightness based on pressure. QTabletEvent allows you to read the
<a href="qtabletevent.html#pressure">pressure</a>(), the <a href="qtabletevent.html#xTilt">xTilt</a>(), and <a href="qtabletevent.html#yTilt">yTilt</a>(), as well as the type of
device being used with <a href="qtabletevent.html#device">device</a>() (see <a href="qtabletevent.html#TabletDevice-enum">TabletDevice</a>). It can
also give you the minimum and maximum values for each device's
pressure and high resolution coordinates.</p>
<p>A tablet event contains a special accept flag that indicates
whether the receiver wants the event. You should call <a href="qevent.html#accept">QTabletEvent.accept</a>() if you handle the
tablet event; otherwise it will be sent to the parent widget. The
exception are <a href="qevent.html#Type-enum">TabletEnterProximity</a> and <a href="qevent.html#Type-enum">TabletLeaveProximity</a> events, these are
only sent to <a href="qapplication.html">QApplication</a> and don't
check whether or not they are accepted.</p>
<p>The <a href="qwidget.html#enabled-prop">QWidget.setEnabled</a>() function can
be used to enable or disable mouse and keyboard events for a
widget.</p>
<p>The event handler <a href="qwidget.html#tabletEvent">QWidget.tabletEvent</a>() receives all
three types of tablet events. Qt will first send a tabletEvent
then, if it is not accepted, it will send a mouse event. This
allows applications that don't utilize tablets to use a tablet like
a mouse, while also enabling those who want to use both tablets and
mouses differently.</p>
<a id="notes-for-x11-users" name="notes-for-x11-users" />
<h3>Notes for X11 Users</h3>
<p>Qt uses the following hard-coded names to identify tablet
devices from the xorg.conf file on X11 (apart from IRIX): 'stylus',
'pen', and 'eraser'. If the devices have other names, they will not
be picked up Qt.</p>
<hr /><h2>Type Documentation</h2><h3 class="fn"><a name="PointerType-enum" />QTabletEvent.PointerType</h3><p>This enum defines what type of point is generating the
event.</p>
<table class="valuelist">
<tr class="odd" valign="top">
<th class="tblConst">Constant</th>
<th class="tblval">Value</th>
<th class="tbldscr">Description</th>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.UnknownPointer</tt></td>
<td class="topAlign"><tt>0</tt></td>
<td class="topAlign">An unknown device.</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.Pen</tt></td>
<td class="topAlign"><tt>1</tt></td>
<td class="topAlign">Tip end of a stylus-like device (the narrow
end of the pen).</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.Cursor</tt></td>
<td class="topAlign"><tt>2</tt></td>
<td class="topAlign">Any puck-like device.</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.Eraser</tt></td>
<td class="topAlign"><tt>3</tt></td>
<td class="topAlign">Eraser end of a stylus-like device (the broad
end of the pen).</td>
</tr>
</table>
<p><b>See also</b> <a href="qtabletevent.html#pointerType">pointerType</a>().</p>


<h3 class="fn"><a name="TabletDevice-enum" />QTabletEvent.TabletDevice</h3><p>This enum defines what type of device is generating the
event.</p>
<table class="valuelist">
<tr class="odd" valign="top">
<th class="tblConst">Constant</th>
<th class="tblval">Value</th>
<th class="tbldscr">Description</th>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.NoDevice</tt></td>
<td class="topAlign"><tt>0</tt></td>
<td class="topAlign">No device, or an unknown device.</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.Puck</tt></td>
<td class="topAlign"><tt>1</tt></td>
<td class="topAlign">A Puck (a device that is similar to a flat
mouse with a transparent circle with cross-hairs).</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.Stylus</tt></td>
<td class="topAlign"><tt>2</tt></td>
<td class="topAlign">A Stylus.</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.Airbrush</tt></td>
<td class="topAlign"><tt>3</tt></td>
<td class="topAlign">An airbrush</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.FourDMouse</tt></td>
<td class="topAlign"><tt>4</tt></td>
<td class="topAlign">A 4D Mouse.</td>
</tr>
<tr>
<td class="topAlign"><tt>QTabletEvent.RotationStylus</tt></td>
<td class="topAlign"><tt>6</tt></td>
<td class="topAlign">A special stylus that also knows about
rotation (a 6D stylus).</td>
</tr>
</table>
<p>This enum was introduced or modified in Qt 4.1.</p>
<hr /><h2>Method Documentation</h2><h3 class="fn"><a name="QTabletEvent" />QTabletEvent.__init__ (<i>self</i>, <a href="qevent.html#Type-enum">QEvent.Type</a>&#160;<i>t</i>, <a href="qpoint.html">QPoint</a>&#160;<i>pos</i>, <a href="qpoint.html">QPoint</a>&#160;<i>globalPos</i>, <a href="qpointf.html">QPointF</a>&#160;<i>hiResGlobalPos</i>, int&#160;<i>device</i>, int&#160;<i>pointerType</i>, float&#160;<i>pressure</i>, int&#160;<i>xTilt</i>, int&#160;<i>yTilt</i>, float&#160;<i>tangentialPressure</i>, float&#160;<i>rotation</i>, int&#160;<i>z</i>, <a href="qt-keyboardmodifiers.html">Qt.KeyboardModifiers</a>&#160;<i>keyState</i>, int&#160;<i>uniqueID</i>)</h3><p>Construct a tablet event of the given <i>type</i>.</p>
<p>The <i>pos</i> parameter indicates where the event occurred in
the widget; <i>globalPos</i> is the corresponding position in
absolute coordinates. The <i>hiResGlobalPos</i> contains a high
resolution measurement of the position.</p>
<p><i>pressure</i> contains the pressure exerted on the
<i>device</i>.</p>
<p><i>pointerType</i> describes the type of pen that is being
used.</p>
<p><i>xTilt</i> and <i>yTilt</i> contain the device's degree of
tilt from the x and y axes respectively.</p>
<p><i>keyState</i> specifies which keyboard modifiers are pressed
(e.g., <b>Ctrl</b>).</p>
<p>The <i>uniqueID</i> parameter contains the unique ID for the
current device.</p>
<p>The <i>z</i> parameter contains the coordinate of the device on
the tablet, this is usually given by a wheel on 4D mouse. If the
device does not support a Z-axis, pass zero here.</p>
<p>The <i>tangentialPressure</i> parameter contins the tangential
pressure of an air brush. If the device does not support tangential
pressure, pass 0 here.</p>
<p><i>rotation</i> contains the device's rotation in degrees. 4D
mice support rotation. If the device does not support rotation,
pass 0 here.</p>
<p><b>See also</b> <a href="qtabletevent.html#pos">pos</a>(),
<a href="qtabletevent.html#globalPos">globalPos</a>(), <a href="qtabletevent.html#device">device</a>(), <a href="qtabletevent.html#pressure">pressure</a>(), <a href="qtabletevent.html#xTilt">xTilt</a>(), <a href="qtabletevent.html#yTilt">yTilt</a>(), <a href="qtabletevent.html#uniqueId">uniqueId</a>(), <a href="qtabletevent.html#rotation">rotation</a>(), <a href="qtabletevent.html#tangentialPressure">tangentialPressure</a>(),
and <a href="qtabletevent.html#z">z</a>().</p>


<h3 class="fn"><a name="QTabletEvent-2" />QTabletEvent.__init__ (<i>self</i>, <a href="qtabletevent.html">QTabletEvent</a>)</h3><h3 class="fn"><a name="device" /><a href="qtabletevent.html#TabletDevice-enum">TabletDevice</a> QTabletEvent.device (<i>self</i>)</h3><p>Returns the type of device that generated the event.</p>
<p><b>See also</b> <a href="qtabletevent.html#TabletDevice-enum">TabletDevice</a>.</p>


<h3 class="fn"><a name="globalPos" /><a href="qpoint.html">QPoint</a> QTabletEvent.globalPos (<i>self</i>)</h3><p>Returns the global position of the device <i>at the time of the
event</i>. This is important on asynchronous windows systems like
X11; whenever you move your widgets around in response to mouse
events, globalPos() can differ significantly from the current
position <a href="qcursor.html#pos">QCursor.pos</a>().</p>
<p><b>See also</b> <a href="qtabletevent.html#globalX">globalX</a>(), <a href="qtabletevent.html#globalY">globalY</a>(), and <a href="qtabletevent.html#hiResGlobalPos">hiResGlobalPos</a>().</p>


<h3 class="fn"><a name="globalX" />int QTabletEvent.globalX (<i>self</i>)</h3><p>Returns the global x position of the mouse pointer at the time
of the event.</p>
<p><b>See also</b> <a href="qtabletevent.html#globalY">globalY</a>(), <a href="qtabletevent.html#globalPos">globalPos</a>(), and <a href="qtabletevent.html#hiResGlobalX">hiResGlobalX</a>().</p>


<h3 class="fn"><a name="globalY" />int QTabletEvent.globalY (<i>self</i>)</h3><p>Returns the global y position of the tablet device at the time
of the event.</p>
<p><b>See also</b> <a href="qtabletevent.html#globalX">globalX</a>(), <a href="qtabletevent.html#globalPos">globalPos</a>(), and <a href="qtabletevent.html#hiResGlobalY">hiResGlobalY</a>().</p>


<h3 class="fn"><a name="hiResGlobalPos" /><a href="qpointf.html">QPointF</a> QTabletEvent.hiResGlobalPos (<i>self</i>)</h3><p>The high precision coordinates delivered from the tablet
expressed. Sub pixeling information is in the fractional part of
the <a href="qpointf.html">QPointF</a>.</p>
<p><b>See also</b> <a href="qtabletevent.html#globalPos">globalPos</a>(), <a href="qtabletevent.html#hiResGlobalX">hiResGlobalX</a>(), and <a href="qtabletevent.html#hiResGlobalY">hiResGlobalY</a>().</p>


<h3 class="fn"><a name="hiResGlobalX" />float QTabletEvent.hiResGlobalX (<i>self</i>)</h3><p>The high precision x position of the tablet device.</p>


<h3 class="fn"><a name="hiResGlobalY" />float QTabletEvent.hiResGlobalY (<i>self</i>)</h3><p>The high precision y position of the tablet device.</p>


<h3 class="fn"><a name="pointerType" /><a href="qtabletevent.html#PointerType-enum">PointerType</a> QTabletEvent.pointerType (<i>self</i>)</h3><p>Returns the type of point that generated the event.</p>


<h3 class="fn"><a name="pos" /><a href="qpoint.html">QPoint</a> QTabletEvent.pos (<i>self</i>)</h3><p>Returns the position of the device, relative to the widget that
received the event.</p>
<p>If you move widgets around in response to mouse events, use
<a href="qtabletevent.html#globalPos">globalPos</a>() instead of
this function.</p>
<p><b>See also</b> <a href="qtabletevent.html#x">x</a>(), <a href="qtabletevent.html#y">y</a>(), and <a href="qtabletevent.html#globalPos">globalPos</a>().</p>


<h3 class="fn"><a name="pressure" />float QTabletEvent.pressure (<i>self</i>)</h3><p>Returns the pressure for the device. 0.0 indicates that the
stylus is not on the tablet, 1.0 indicates the maximum amount of
pressure for the stylus.</p>
<p><b>See also</b> <a href="qtabletevent.html#tangentialPressure">tangentialPressure</a>().</p>


<h3 class="fn"><a name="rotation" />float QTabletEvent.rotation (<i>self</i>)</h3><p>Returns the rotation of the current device in degress. This is
usually given by a 4D Mouse. If the device doesn't support rotation
this value is always 0.0.</p>


<h3 class="fn"><a name="tangentialPressure" />float QTabletEvent.tangentialPressure (<i>self</i>)</h3><p>Returns the tangential pressure for the device. This is
typically given by a finger wheel on an airbrush tool. The range is
from -1.0 to 1.0. 0.0 indicates a neutral position. Current
airbrushes can only move in the positive direction from the
neutrual position. If the device does not support tangential
pressure, this value is always 0.0.</p>
<p><b>See also</b> <a href="qtabletevent.html#pressure">pressure</a>().</p>


<h3 class="fn"><a name="uniqueId" />int QTabletEvent.uniqueId (<i>self</i>)</h3><p>Returns a unique ID for the current device, making it possible
to differentiate between multiple devices being used at the same
time on the tablet.</p>
<p>Support of this feature is dependent on the tablet.</p>
<p>Values for the same device may vary from OS to OS.</p>
<p>Later versions of the Wacom driver for Linux will now report the
ID information. If you have a tablet that supports unique ID and
are not getting the information on Linux, consider upgrading your
driver.</p>
<p>As of Qt 4.2, the unique ID is the same regardless of the
orientation of the pen. Earlier versions would report a different
value when using the eraser-end versus the pen-end of the stylus on
some OS's.</p>
<p><b>See also</b> <a href="qtabletevent.html#pointerType">pointerType</a>().</p>


<h3 class="fn"><a name="x" />int QTabletEvent.x (<i>self</i>)</h3><p>Returns the x position of the device, relative to the widget
that received the event.</p>
<p><b>See also</b> <a href="qtabletevent.html#y">y</a>() and
<a href="qtabletevent.html#pos">pos</a>().</p>


<h3 class="fn"><a name="xTilt" />int QTabletEvent.xTilt (<i>self</i>)</h3><p>Returns the angle between the device (a pen, for example) and
the perpendicular in the direction of the x axis. Positive values
are towards the tablet's physical right. The angle is in the range
-60 to +60 degrees.</p>
<p class="centerAlign"><img src="images/qtabletevent-tilt.png" /></p>
<p><b>See also</b> <a href="qtabletevent.html#yTilt">yTilt</a>().</p>


<h3 class="fn"><a name="y" />int QTabletEvent.y (<i>self</i>)</h3><p>Returns the y position of the device, relative to the widget
that received the event.</p>
<p><b>See also</b> <a href="qtabletevent.html#x">x</a>() and
<a href="qtabletevent.html#pos">pos</a>().</p>


<h3 class="fn"><a name="yTilt" />int QTabletEvent.yTilt (<i>self</i>)</h3><p>Returns the angle between the device (a pen, for example) and
the perpendicular in the direction of the y axis. Positive values
are towards the bottom of the tablet. The angle is within the range
-60 to +60 degrees.</p>
<p><b>See also</b> <a href="qtabletevent.html#xTilt">xTilt</a>().</p>


<h3 class="fn"><a name="z" />int QTabletEvent.z (<i>self</i>)</h3><p>Returns the z position of the device. Typically this is
represented by a wheel on a 4D Mouse. If the device does not
support a Z-axis, this value is always zero. This is <b>not</b> the
same as pressure.</p>
<p><b>See also</b> <a href="qtabletevent.html#pressure">pressure</a>().</p>
<address><hr /><div align="center"><table border="0" cellspacing="0" width="100%"><tr class="address"><td align="left" width="25%">PyQt&#160;4.9.1 for X11</td><td align="center" width="50%">Copyright &#169; <a href="http://www.riverbankcomputing.com">Riverbank&#160;Computing&#160;Ltd</a> and <a href="http://www.qtsoftware.com">Nokia</a> 2011</td><td align="right" width="25%">Qt&#160;4.8.0</td></tr></table></div></address></body></html>